package cn.bytepath.log.domain;

import cn.bytepath.base.domain.BaseDomain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 用户操作记录的实体类
 * @author Jack.C
 * @version 1.0
 * @createDate 2022-02-07
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserLog extends BaseDomain {

    /**
     * 操作用户的名字
     */
    private String username;

    /**
     * 对该操作的描述
     */
    private String description;

    /**
     * 调用的相关方法的信息
     */
    private String method;

    /**
     * 调用者的IP地址
     */
    private String ip;

    /**
     * 耗时
     */
    private String costTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getCreateDate() {
        return createDate;
    }

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /**
     * 该条记录的创建时间
     */
    private Date createDate = new Date();
}
